package com.xiaomi.shwx.entity.pojo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaomi.shwx.common.enums.WorkOrderStatus;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 工单
 * </p>
 *
 * @author Lei
 * @since 2024-05-15
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("workorder")
public class WorkOrder extends BaseEntity {

    private static final long serialVersionUID = 1L;


    /**
     * 产品名称
     */
    @TableField("productName")
    private String productName;

    /**
     * 产品序列号
     */
    @TableField("productSN")
    private String productSN;

    /**
     * 客户id
     */
    @TableField("clientId")
    private Long clientId;

    /**
     * 客户名称
     */
    @TableField("clientName")
    private String clientName;

    /**
     * 客户电话
     */
    @TableField("clientPhone")
    private String clientPhone;

    /**
     * 客户地址
     */
    @TableField("clientAddress")
    private String clientAddress;

    /**
     * 工程师id
     */
    @TableField("engineerId")
    private Long engineerId;

    /**
     * 物料id
     */
    @TableField("materialId")
    private Long materialId;

    /**
     * 物料数量
     */
    @TableField("materialNum")
    private Integer materialNum;

    /**
     * 工单状态：0:创建、1:工程师接单、2:用户待确认、3:检测、4:复检、5:待支付、6:已支付、7:完结、-1:异常
     */
    private String status;

    /**
     * 工单描述
     */
    @TableField("orderDesc")
    private String orderDesc;

    /**
     * 客户描述
     */
    @TableField("clientDesc")
    private String clientDesc;

    /**
     * 工程师描述
     */
    @TableField("engineerDesc")
    private String engineerDesc;

    /**
     * 发票
     */
    private String invoice;

    /**
     * 视频名称
     */
    @TableField("videoName")
    private String videoName;

    /**
     * 图片名称
     */
    @TableField("imageName")
    private String imageName;

    /**
     * 费用
     */
    private Integer price;
    /**
     * 工单状态描述
     */
    @TableField(exist = false)
    private WorkOrderStatus workOrderStatus;

}
